﻿#define _CRT_SECURE_NO_WARNINGS 1
//
#include <stdio.h>
//int main()
//{
//	printf("hehe\n");
//	return 0;
//}

//参考：https://zh.cppreference.com/w/cpp/language/ascii Acii码
//int main()
//{
//	int i = 0;
//	for (i = 32; i <= 127; i++)
//	{
//		printf("%c",i);
//	}
//
//	return 0;
//}
//注：https://zh.cppreference.com/w/c/keyword 关键字的介绍
// 
// \ ? ：在书写连续多个问号时使⽤，防⽌他们被解析成三字⺟词，在新的编译器上没法验证了。
//• \' ：⽤于表⽰字符常量'
//• \" ：⽤于表⽰⼀个字符串内部的双引号
//• \\ ：⽤于表⽰⼀个反斜杠，防⽌它被解释为⼀个转义序列符。
//• \a ：警报，这会使得终端发出警报声或出现闪烁，或者两者同时发⽣。
//• \b ：退格键，光标回退⼀个字符，但不删除字符。
//• \f ：换⻚符，光标移到下⼀⻚。在现代系统上，这已经反映不出来了，⾏为改成类似于 \v 。
//• \n ：换⾏符。
//• \r ：回⻋符，光标移到同⼀⾏的开头。
//• \t ：制表符，光标移到下⼀个⽔平制表位，通常是下⼀个4 / 8的倍数。
//• \v ：垂直分隔符，光标移到下⼀个垂直制表位，通常是下⼀⾏的同⼀列。
//\ddd ：d d d表⽰1~3个⼋进制的数字。 如： \130 表⽰字符X
//• \xdd ：d d表⽰2个⼗六进制数字。 如： \x30 表⽰字符0
// 
//转义字符参考：https://zh.cppreference.com/w/c/language/escape

//第⼀种⽅法是将注释放在 /*...*/ 之间，内部可以分⾏。可以放在括号内
//int main()
//{
//	//printf("hehe/* memeji */\n");
//	int fopen(char* s /* file name */, int mode);//可以插入在括号内
//	return 0;
//}
int main()
{
	int i = 0; 
	int ret = 1;
	int sum = 0;
	int n = 0;
	for (i = 1; i <= 3; i++)
	{
		int ret = 1;//重置ret;
		for (n = 1; n <= i; n++)
		{
			ret *= n;
		}
		sum += ret;
		
	}printf("%d\n", sum);
	return 0;
}